﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aquasoft.Iszr.Proxy.WebServices;
using Aquasoft.Iszr.Proxy.WebServices.Interfaces;

namespace Aquasoft.Iszr.Proxy.ZadostInfoUtils
{
    /// <summary>
    /// Scope pro vyplnění ZadostInfo pomocí Action
    /// </summary>
    public class IszrZadostInfoFunctionScope : IszrZadostInfoScopeBase
    {
        private readonly Action<ISzrZadostInfo, ZadostInfoType> __setupZadostInfoFunc;

        public IszrZadostInfoFunctionScope(Action<ISzrZadostInfo, ZadostInfoType> setupZadostInfoFunc)
        {
            if (setupZadostInfoFunc == null)
                throw new ArgumentNullException("setupZadostInfoFunc");

            __setupZadostInfoFunc = setupZadostInfoFunc;
        }

        protected override void SetupZadostInfo(ISzrZadostInfo request, ZadostInfoType zadostInfo)
        {
            base.SetupZadostInfo(request, zadostInfo);

            __setupZadostInfoFunc(request, zadostInfo);                
        }
    }
}
